液位計(jì)相關(guān)文章
當(dāng)前位置:磁翻板液位計(jì) > 液位計(jì)相關(guān)文章STM32和FPGA相結(jié)合減小超聲波液位計(jì)測(cè)量液位的盲區(qū)
日期:2019-02-22 來(lái)源: 作者:
引言
超聲波液位計(jì)作為一種非接觸式的液位測(cè)量設(shè)備[1-2],不受電磁干擾影響,成本較低,使用方便,因而在工業(yè)生產(chǎn)中得到了廣泛應(yīng)用,特別是對(duì)工況比較復(fù)雜的罐體中液位的測(cè)量。超聲波液位計(jì)的測(cè)量精度主要取決于對(duì)傳播時(shí)間和聲速的檢測(cè)精度。目前市場(chǎng)上的超聲波液位計(jì)多數(shù)是基于MCS-51單片機(jī)設(shè)計(jì)的[3-4],由于單片機(jī)本身硬件上的限制,導(dǎo)致對(duì)傳播時(shí)間的測(cè)量精度一般不高,功能也相對(duì)單一[5]。本文中將STM32和FPGA相結(jié)合,設(shè)計(jì)了一種新型的超聲波液位計(jì)。系統(tǒng)利用溫濕度傳感器對(duì)聲速進(jìn)行了溫度和濕度兩方面的補(bǔ)償;同時(shí),采用無(wú)線通信模塊對(duì)測(cè)量結(jié)果進(jìn)行無(wú)線傳輸[6],實(shí)現(xiàn)了對(duì)液位的遠(yuǎn)程監(jiān)控。該液位測(cè)量系統(tǒng)具有精度高、實(shí)時(shí)性強(qiáng)、多功能等特點(diǎn)。
1超聲波液位測(cè)量原理
超聲波液位測(cè)量的方法主要有相位檢測(cè)法、幅值檢測(cè)法、時(shí)差法[7]。其中,相位檢測(cè)法精度較高,但量程短,電路設(shè)計(jì)復(fù)雜;幅值檢測(cè)法實(shí)現(xiàn)簡(jiǎn)單,但精度較低;時(shí)差法電路不太復(fù)雜,量程和精度基本能滿足工業(yè)要求,文中采用時(shí)差法。
1.1時(shí)差法原理
發(fā)射探頭發(fā)出的超聲波在介質(zhì)中傳播,經(jīng)被測(cè)液面反射后,回波信號(hào)被接收探頭所接收。由于在特定介質(zhì)中聲速是可以確定的,因此只要測(cè)量出超聲波從發(fā)出到被接收所用的時(shí)間就可以計(jì)算出超聲波傳輸?shù)木嚯x,進(jìn)而間接測(cè)量出液面高度[8]。時(shí)差法的原理圖如圖1所示。
由圖可知,L=E-D,L=E-ct/2,c為聲速,t為超聲波傳播的時(shí)間。
1.2聲速的溫濕度補(bǔ)償
由時(shí)差法的原理可知,決定測(cè)量精度的關(guān)鍵是對(duì)聲速的確定和對(duì)傳播時(shí)間的測(cè)量。影響聲速的環(huán)境因素主要是溫度,大多數(shù)氣介式超聲波液位計(jì)也是都對(duì)溫度進(jìn)行了補(bǔ)償,但如果待測(cè)液體是易揮發(fā)的,空氣中大量的蒸氣會(huì)形成不容忽視的聲速梯度,為了保證測(cè)量的精度,這時(shí)就需要對(duì)聲速進(jìn)行溫度和濕度兩方面的補(bǔ)償,經(jīng)查閱資料后推導(dǎo)得到修正后的聲速公式為:式中:c0為標(biāo)況下的聲速,取331.45m/s,p為標(biāo)準(zhǔn)大氣壓,取1.01325×105Pa,pw為水蒸氣分壓強(qiáng),t為測(cè)量溫度,T0為273.15K,pw/p為相對(duì)濕度。
2系統(tǒng)的總體設(shè)計(jì)
超聲波液位測(cè)量系統(tǒng)的結(jié)構(gòu)框圖如圖2所示,系統(tǒng)主要由STM32單片機(jī)、FPGA、發(fā)射電路、接收電路、溫濕度測(cè)量模塊、LCD顯示模塊、無(wú)線通信模塊、報(bào)警模塊等組成。由于FPGA內(nèi)嵌軟核NiosⅡ需要占用較大的FPGA邏輯面積[9],而且是FPGA粗顆粒邏輯結(jié)構(gòu)制作的CPU,和基于ASIC的ARM在功耗和速度上的性能相差較大,因此,系統(tǒng)采用意法半導(dǎo)體生產(chǎn)的STM32芯片作為主控制器,STM32通過(guò)SPI接口和FPGA進(jìn)行通信。上電之后,STM32單片機(jī)向FPGA發(fā)送測(cè)量信號(hào),F(xiàn)PGA接收到信號(hào)之后,發(fā)出超聲波激勵(lì)信號(hào),同時(shí)開始計(jì)數(shù),激勵(lì)信號(hào)經(jīng)發(fā)射電路放大后激勵(lì)換能器振動(dòng)發(fā)出超聲波,經(jīng)被測(cè)液面反射后產(chǎn)生的回波信號(hào)由接收電路處理后被回波識(shí)別模塊檢測(cè)到,計(jì)數(shù)器停止計(jì)數(shù),將計(jì)數(shù)值通過(guò)SPI接口傳給STM32,STM32利用補(bǔ)償后的聲速和傳播時(shí)間計(jì)算出液位高度,并控制LCD顯示液位和溫濕度測(cè)量結(jié)果,同時(shí),將相應(yīng)測(cè)量結(jié)果通過(guò)無(wú)線通信發(fā)送給PC端,如果液位不在規(guī)定范圍內(nèi),則發(fā)出報(bào)警信號(hào)。
3硬件電路設(shè)計(jì)
3.1超聲波發(fā)射電路
發(fā)射電路如圖3所示。FPGA的I/O口電平為3.3V,分頻產(chǎn)生的40kHz的激勵(lì)脈沖先經(jīng)過(guò)限流電阻R1,接著被晶體管Q1(9014)、Q2(9014)、Q3(9015)進(jìn)行功率放大后加載到變壓器兩端,由于變壓器的初級(jí)線圈會(huì)產(chǎn)生高電流,故采用場(chǎng)效應(yīng)管相連。電阻R3用來(lái)和換能器進(jìn)行阻抗匹配。
3.2超聲波接收電路
接收電路如圖4所示,核心器件是TL852。TL852是專用的超聲波測(cè)距芯片,可以完成對(duì)回波信號(hào)的放大、濾波和整形。TL852具有11級(jí)的增益變換,測(cè)量過(guò)程中,可以根據(jù)超聲波傳播時(shí)間的長(zhǎng)短來(lái)控制GCA、GCB、GCC、GCD四個(gè)引腳的電平,調(diào)節(jié)增益的大小,進(jìn)而增大量程。TL852的輸出信號(hào)并不能直接被FPGA識(shí)別,還需進(jìn)行進(jìn)一步的比較整形處理。比較整形電路由雙運(yùn)放LM311組成,前級(jí)運(yùn)放構(gòu)成的同相跟隨器是為了使比較整形電路和放大濾波電路隔離;后級(jí)運(yùn)放構(gòu)成電壓比較器,實(shí)現(xiàn)AD轉(zhuǎn)換,以便FPGA識(shí)別回波信號(hào)。
3.3LCD顯示模塊
為了便于現(xiàn)場(chǎng)調(diào)試和顯示測(cè)量結(jié)果,系統(tǒng)選用LCD12864液晶屏作為顯示模塊。該液晶屏的分辨率為128×64,具有多種接口方式,并且內(nèi)置了漢字字庫(kù),可以顯示字母、數(shù)字符號(hào)、中文字型及圖形。另外,LCD12864還具有低電壓低功耗的優(yōu)點(diǎn)。
3.4溫濕度測(cè)量模塊
系統(tǒng)選用DHT11溫濕度傳感器來(lái)檢測(cè)溫濕度,對(duì)聲速進(jìn)行補(bǔ)償。DHT11的濕度測(cè)量范圍是20%~95%,精度為±5%RH,溫度測(cè)量范圍是0~50℃,精度為±2℃。DHT11通過(guò)單總線和STM32進(jìn)行通信,連接方便,DATA端口輸出的是已校準(zhǔn)的數(shù)字信號(hào)。STM32和DHT11之間的連接電路如圖5所示
3.5無(wú)線通信模塊
系統(tǒng)選用的無(wú)線通信模塊型號(hào)為AS32-TTL-100,該模塊采用Semtech原裝SX1278射頻芯片,載波頻率410~441MHz,發(fā)射功率為100mW,通過(guò)串口與單片機(jī)進(jìn)行通信,通信距離zui遠(yuǎn)可達(dá)3000m。另外,AS32-TTL-100的功耗低至1.5μA,還采用了LoRa擴(kuò)頻技術(shù),具有很強(qiáng)的抗干擾能力,傳輸距離和穿透能力比傳統(tǒng)的FSK有著很大地提高??刂芃D0和MD1兩個(gè)輸入端口的電平可以選擇不同的工作模式,模塊通過(guò)RXD和TXD兩個(gè)端口和單片機(jī)進(jìn)行串口通信,AUX端口用于指示模塊的工作狀態(tài)。發(fā)射端無(wú)線模塊與STM32的接線圖如圖6所示,接收端無(wú)線模塊通過(guò)USB轉(zhuǎn)TTL轉(zhuǎn)接板實(shí)現(xiàn)電平轉(zhuǎn)換,和PC機(jī)進(jìn)行通信。
3.6STM32和FPGA模塊
系統(tǒng)選用的主控芯片是意法半導(dǎo)體公司的STM32F103VET6,該款芯片有80個(gè)通用IO口,512KB閃存FLASH,64KB的SRAM,3個(gè)SPI,5個(gè)串口等豐富的資源,可以滿足設(shè)計(jì)要求。FPGA芯片選用的是Al-@@@@tera公司的Cyclone系列的EP1C3T144C6,1.5V內(nèi)核,EP1C3T144C6具有2910個(gè)邏輯單元,59904位內(nèi)嵌RAM,一個(gè)鎖相環(huán)。FPGA部分主要包括:發(fā)射模塊、回波識(shí)別模塊、計(jì)數(shù)模塊、SPI接口模塊。其中,發(fā)射模塊產(chǎn)生超聲波激勵(lì)信號(hào);回波識(shí)別模塊用于檢測(cè)回波信號(hào);計(jì)數(shù)模塊在超聲波激勵(lì)信號(hào)發(fā)出的同時(shí)開始計(jì)數(shù),回波識(shí)別模塊接收到回波信號(hào)后停止計(jì)數(shù),則渡越時(shí)間為N/f,N為計(jì)數(shù)器的計(jì)數(shù)值,f為計(jì)數(shù)頻率。計(jì)數(shù)器停止計(jì)數(shù)之后將計(jì)數(shù)值通過(guò)SPI接口發(fā)送給STM32,STM32根據(jù)計(jì)數(shù)值計(jì)算出超聲波傳播時(shí)間,從而計(jì)算出液位高度。
4系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件部分包括STM32部分軟件設(shè)計(jì)、FP-GA部分軟件設(shè)計(jì)以及PC端軟件設(shè)計(jì)。
4.1STM32部分軟件設(shè)計(jì)
STM32部分的軟件在KeilMDK上開發(fā)。為了實(shí)現(xiàn)對(duì)多個(gè)任務(wù)的并行處理,以及對(duì)液位的實(shí)時(shí)監(jiān)測(cè),考慮在STM32F103VET6微控制器上移植一個(gè)嵌入式實(shí)時(shí)操作系統(tǒng)。和其他的實(shí)時(shí)操作系統(tǒng)相比,F(xiàn)reeRTOS是一個(gè)小巧、免費(fèi)的操作系統(tǒng),F(xiàn)reeRTOS的內(nèi)核可裁剪,一般只占用4K~9K字節(jié)的空間,具有很強(qiáng)的可移植性,并且不對(duì)任務(wù)數(shù)量和任務(wù)優(yōu)先級(jí)進(jìn)行限制。綜上考慮,系統(tǒng)選用FreeRTOS作為操作系統(tǒng)。
FreeRTOS可以實(shí)現(xiàn)任務(wù)的創(chuàng)建、刪除、掛起、恢復(fù)、設(shè)定優(yōu)先級(jí)等功能。在高精度超聲波液位計(jì)的程序設(shè)計(jì)中需要?jiǎng)?chuàng)建液位測(cè)量、溫濕度測(cè)量、LCD顯示、無(wú)線通信、報(bào)警五個(gè)任務(wù),根據(jù)重要性和實(shí)時(shí)性要求,給每個(gè)任務(wù)設(shè)置相應(yīng)的優(yōu)先級(jí),程序流程圖如圖7所示。軟件用C語(yǔ)言進(jìn)行編寫,為了方便調(diào)試以及后期開發(fā)和維護(hù),程序采用模塊化的設(shè)計(jì)思想。創(chuàng)建一個(gè)任務(wù)的代碼如下所示:
4.2FPGA部分軟件設(shè)計(jì)
FPGA軟件部分的開發(fā)環(huán)境為QuartusⅡ,采用VerilogHDL語(yǔ)言進(jìn)行程序設(shè)計(jì)。通過(guò)狀態(tài)機(jī)產(chǎn)生相應(yīng)的控制時(shí)序,完成各項(xiàng)操作。圖8為狀態(tài)機(jī)的狀態(tài)遷移圖,有空閑、開始、數(shù)據(jù)發(fā)送三個(gè)狀態(tài),為了減少組合邏輯的數(shù)目,提高系統(tǒng)速度,用獨(dú)熱碼對(duì)各個(gè)狀態(tài)進(jìn)行編碼。START信號(hào)用來(lái)標(biāo)記是否接收到開始指令,START=0時(shí)開始測(cè)量。ECHO用來(lái)標(biāo)記是否接收到回波信號(hào),當(dāng)識(shí)別到回波信號(hào)時(shí),ECHO被置為1。上電后,狀態(tài)機(jī)處于空閑狀態(tài),當(dāng)START=0時(shí),狀態(tài)機(jī)進(jìn)入開始狀態(tài)。進(jìn)入開始狀態(tài)后,發(fā)射模塊發(fā)射出由10個(gè)頻率為40kHz的脈沖組成的脈沖簇,驅(qū)動(dòng)發(fā)射電路發(fā)出超聲波。在產(chǎn)生驅(qū)動(dòng)信號(hào)的同時(shí),計(jì)數(shù)器開始計(jì)數(shù)。當(dāng)回波識(shí)別模塊識(shí)別到回波時(shí),ECHO被置為1,進(jìn)入數(shù)據(jù)發(fā)送狀態(tài)。進(jìn)入數(shù)據(jù)發(fā)送狀態(tài)后,先將計(jì)數(shù)值保存在計(jì)數(shù)寄存器中,再將計(jì)數(shù)器中的值清零,為下次計(jì)數(shù)做準(zhǔn)備,完成這些操作后將計(jì)數(shù)寄存器中的值通過(guò)SPI接口發(fā)送給STM32。時(shí)序仿真如圖9所示。
4.3PC端軟件設(shè)計(jì)
系統(tǒng)上位機(jī)部分軟件采用C#語(yǔ)言編寫,該語(yǔ)言對(duì)Windows操作系統(tǒng)兼容性較好,所用的集成開發(fā)環(huán)境是VS,C#程序在VisioStudio.NET平臺(tái)上運(yùn)行。當(dāng)PC端采集到STM32發(fā)送的液位和溫濕度數(shù)據(jù)時(shí),在監(jiān)控界面上進(jìn)行顯示。PC端軟件部分需要設(shè)計(jì)一個(gè)串口類用來(lái)接收數(shù)據(jù),串口接收到數(shù)據(jù)后,先將數(shù)據(jù)緩存,再利用一個(gè)線程對(duì)數(shù)據(jù)進(jìn)行解析,解析后的數(shù)據(jù)在datagrid表格中顯示,并用chart類繪制液位的曲線圖,點(diǎn)擊保存按鈕,可以將數(shù)據(jù)保存到Excel表中。測(cè)量過(guò)程中監(jiān)控界面如圖10所示。
5結(jié)束語(yǔ)
采用STM32作為主控制器,并移植了FreeRTOS實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)了液位的實(shí)時(shí)測(cè)量,以及其他各任務(wù)的實(shí)時(shí)處理。采用FPGA作為協(xié)處理器,利用其并行處理的能力消除了產(chǎn)生激勵(lì)信號(hào)和啟動(dòng)計(jì)時(shí)之間的延時(shí)。FPGA較高的工作頻率保證了計(jì)時(shí)的精度以及超聲波激勵(lì)信號(hào)的穩(wěn)定性,進(jìn)而提高了測(cè)量精度。同時(shí),系統(tǒng)還對(duì)聲速進(jìn)行了溫度和濕度兩方面的補(bǔ)償,進(jìn)一步提高了液位計(jì)的測(cè)量精度。另外,該系統(tǒng)還有無(wú)線通信的能力,實(shí)現(xiàn)了對(duì)液位的遠(yuǎn)程監(jiān)控。
相關(guān)產(chǎn)品推薦:磁翻板液位計(jì)
上一篇文章:磁翻板液位計(jì)在釀造釜測(cè)量釀造水壺中麥汁水平的應(yīng)用下一篇文章:通過(guò)液位計(jì)控制實(shí)現(xiàn)砂漿廢水自動(dòng)化運(yùn)行處理
- 一般需要多久對(duì)磁翻板液位計(jì)進(jìn)行維護(hù)確保測(cè)【2019-05-13】
- PVC材質(zhì)磁翻板液位計(jì)【2018-11-28】
- 研發(fā)強(qiáng)穿透抗干擾超聲波液位計(jì)是時(shí)代發(fā)展的【2018-12-19】
- 中藥制劑廢水處理工程概述與流程說(shuō)明【2022-02-21】
- 植物油大型儲(chǔ)罐及其遠(yuǎn)傳磁翻板液位計(jì)的結(jié)構(gòu)【2019-09-09】
- 淺談SIS系統(tǒng)在煤化工裝置的應(yīng)用【2019-07-06】
- 公平,統(tǒng)一的磁翻柱液位計(jì)定價(jià)【2019-06-01】
- 磁浮子液位計(jì)清洗步驟是什么?清洗前后的注意【2021-03-09】
- 儲(chǔ)罐側(cè)面上下兩套玻璃管液位計(jì)液面不等高的【2017-09-07】
- 磁翻板液位計(jì)的浮子的三點(diǎn)選擇原則及材質(zhì)選【2020-11-21】
- 淺析火電企業(yè)脫硫遠(yuǎn)傳磁翻板液位計(jì)運(yùn)營(yíng)維護(hù)【2019-09-10】
- 液氨磁翻板液位計(jì)【2014-04-01】
- 玻璃管液位計(jì)的非接觸監(jiān)控原理與計(jì)算調(diào)試目【2018-01-26】
- 磁翻柱液位計(jì)安裝后的詭異現(xiàn)象探討和措施分【2021-12-17】
- 基于機(jī)器視覺(jué)的磁翻板液位計(jì)實(shí)時(shí)讀數(shù)識(shí)別方【2023-11-23】
- 玻璃板液位計(jì)【2022-11-23】
- 磁翻板液位計(jì)與差壓液位計(jì)雙重監(jiān)控分離器液【2022-03-14】
- 關(guān)于磁翻板液位計(jì)應(yīng)用大型乙烯裝置冷區(qū)現(xiàn)場(chǎng)【2022-03-10】
- 磁翻板液位計(jì)在海水脫硫液位測(cè)量中選擇什么【2022-03-08】
- 如何解決磁翻板液位計(jì)水浸問(wèn)題及預(yù)防故障的【2022-03-04】
- 探究磁翻板液位計(jì)在醫(yī)療設(shè)備中的應(yīng)用【2019-11-25】
- 從研發(fā)角度去分析磁翻板液位計(jì)到底哪個(gè)廠家【2018-12-28】
- STM32和FPGA相結(jié)合減小超聲波液位計(jì)測(cè)量液【2019-02-22】
- 關(guān)于磁翻柱液位計(jì)的油壓?jiǎn)栴}分析及應(yīng)對(duì)措施【2019-07-15】
- 磁翻板液位計(jì)4-20mA接線方法和二次儀表配合【2020-11-19】
- 熱水鍋爐及磁性翻版液位計(jì)供熱系統(tǒng)突發(fā)停電【2019-08-27】
- 三暢磁翻板液位計(jì)為企業(yè)計(jì)量節(jié)能與生產(chǎn)降耗【2013-09-05】
相關(guān)的產(chǎn)品
二線制分體式本安防爆超聲
白酒液位計(jì)
報(bào)警型磁翻板液位計(jì)
頂裝液位計(jì)
硫酸液位計(jì),濃硫酸儲(chǔ)槽液位
頂裝浮球液位計(jì)
耐酸堿液位計(jì)
甲醚液位計(jì)
遠(yuǎn)傳磁翻板
遠(yuǎn)傳磁性浮子液位計(jì)
油脂溶劑磁翻板液位計(jì)
玻璃管液位計(jì)
磁翻板液位計(jì)生產(chǎn)廠家
底裝式磁翻柱液位計(jì)
底裝式磁翻板液位計(jì)
UHZ-517C13A磁翻柱液位計(jì)
磁翻板液位計(jì)UQC-C10
防爆磁翻板液位計(jì)UQC-C11b
硫酸液位計(jì)
UQC-C16磁翻板液位計(jì)
潤(rùn)滑油液位計(jì)
液氨磁翻板液位計(jì)
UQC-D40磁翻板液位計(jì)
磁翻板液位計(jì)廠家
真空夾套磁翻板液位計(jì)